﻿using System;
namespace XDCCManager.Network
{
	interface IServerConnection
	{
		void CancelConnect();
		void Connect();
		bool Connected { get; }
		bool Connecting { get; }
		System.Text.Encoding ConnectionEncoding { get; set; }
		event EventHandler<ConnectionErrorEventArgs> ConnectionFailure;
		event EventHandler ConnectionReady;
		event EventHandler<ConnectionStateEventArgs> ConnectionStateUpdate;
		void Disconnect();
		event EventHandler<MessageEventArgs> MessageReceived;
		void SendMessage(string message);
		Model.Servers.Server Server { get; set; }
	}
}
